home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / bbs / dgwrl203.zip / DOGQUEST.DOC < prev    next >
Text File  |  1997-08-01  |  33KB  |  842 lines

  1. CREATING QUESTS FOR DOGWORLD ][ v2.03
  2. -------------------------------------
  3.  
  4.         Following is a brief explanation of the scripting commands
  5.     contained inside DogWorld ][ v2.03. Also take a look at the sample
  6.     quest I wrote, "The Scary Grave" (SGRAVE1.ZIP), for more on how to
  7.     use these commands in a quest.
  8.  
  9.  
  10.         Before you start, here are a few guidelines on creating a
  11.     quest for DogWorld ][. The quest should be written as a plain
  12.     ASCII text file (use something like DOS Edit to create it).
  13.     Script Commands should be on a line by themselves and must always
  14.     start with a forward-slash (/). The forward-slash (/) must always
  15.     be in the first column (beginning of the line). Anything that
  16.     doesn't start with a forward-slash is treated like text and is
  17.     mearly printed to the screen. All external display codes are
  18.     supported inside plain text. (See codes at end of this file).
  19.         To indent text, simply indent it in the quest text file.
  20.     More prompt codes (`p) should only be at the beginning of
  21.     a line.
  22.  
  23.     QUEST LIMITS
  24.     ------------
  25.     There are several limits built into DogWorld to help keep things
  26.     from getting too out of hand inside a quest. Here are the limitations:
  27.         1. A quest can give up to 3 gift/punishments per day per player.
  28.         2. A quest can have up to 5 alley fights per day.
  29.    If the maximumn number is exceeded inside the quest, an error message
  30.    is displayed and the action is skipped.
  31.  
  32.  
  33.     **IMPORTANT**
  34.     -------------
  35.     The title of the Quest MUST always be on the FIRST line
  36.     of each quest file. This line is not processed when the
  37.     quest is played by the caller.
  38.  
  39.     **HINT**
  40.     --------
  41.     Normally, the cursor is returned to the beginning of the
  42.     next line after a line of text is displayed to the screen. There
  43.     are times though, when this may not be desirable. One case would
  44.     be when getting a menu choice from a user and showing a prompt
  45.     line such as "Enter a Key :". Here you would want the cursor to
  46.     stop after the colon. DogWorld ][ provides a means for this with
  47.     a special double backqoute code (``).
  48.  
  49. EXAMPLE:
  50. --------
  51. ``PAW a KEY [A,B,C] :       <--- shows text and leaves cursor
  52.                                      at the end of the line of text.
  53.     **IMPORTANT**
  54.     -------------
  55.     Quest files MUST be named using 6 characters or less, followed
  56.     by a number, a period, and an extension of TXT! A quest "set"
  57.     can have up to 99 quests. The first quest in a set MUST be
  58.     file number one. You can not skip numbers inside a quest set.
  59.     DogWorld ][ will only see quests that are sequentially numbered.
  60.     Here is an example of file names for a 5-part quest set:
  61.  
  62.     GRAVE1.TXT, GRAVE2.TXT, GRAVE3.TXT, GRAVE4.TXT, GRAVE5.TXT.
  63.  
  64.     
  65.     INSTALLING YOUR NEW CREATIONS!
  66.     ------------------------------
  67.         After you've written your quests, place all the files inside
  68.     a temporary diectory. Remember the path to this directory and
  69.     the name of the first file in the quest set. (You'll need that
  70.     information in just a minute).
  71.         Then go to your DogWorld ][ directory and start the quest loader
  72.     by typing DogQuest at the DOS prompt. The quest loader will start
  73.     and a menu will be presented to you. Choose the first option:
  74.  
  75.         (1) Convert .TXT scripts into .FUN quests!
  76.  
  77.         You will be asked if you'd like to preform a "fast install".
  78.     This is the preferred method for a first time installation of
  79.     a quest set. Simply follow the instructions on the screen. DogQuest
  80.     will convert all the .TXT files into .FUN files that DogWorld ][ can
  81.     understand and move them to the \QUESTS directory. You will also
  82.     be given the option to automatically have the quest announced in
  83.     the daily news.
  84.         Please note that if it's a new day (no one has played yet),
  85.     the announcement will appear in yesterday's news when the first
  86.     player of the day logs on.
  87.  
  88.  
  89.     INSTALLING A PRECOMPILED QUEST SET
  90.     ----------------------------------
  91.         If you're installing a quest set that is already compiled into
  92.     .FUN files, then follow the above procedure, but select menu choice
  93.     2 inside of DogQuest instead of menu choice 1:
  94.  
  95.         (2) Install .FUN quest files!
  96.  
  97.         This will move the .FUN files to the \QUESTS directory and
  98.     install the quest inside of DogWorld ][.
  99.  
  100.  
  101.     INSTALLING A QUEST SET INTO A DIRECTORY OTHER THAN \QUESTS
  102.     ----------------------------------------------------------
  103.         If you'd like to place a quest set into a directory other than the
  104.     default \QUESTS directory, you will have to manually edit the
  105.     DOSCRIPT.MNU file to show the path to the quest set. Make sure that
  106.     all the .FUN files and any display screens are in the directory and
  107.     add the complete path to the first quest file and the title of the
  108.     quest to DOSCRIPT.MNU with a plain ASCII text editor like DOS's EDIT
  109.     program. Here's an example of a quest entry in a unique directory:
  110.  
  111.     C:\DOGWORLD\LOVE\LOVE1.FUN
  112.     `4Th`@e Lo`%ve Dream`@s v1`4.0
  113.  
  114.  
  115.     DISTRIBUTING YOUR DOGQUESTS!
  116.     ----------------------------
  117.         We encourage everyone to create and distribute DogQuests for
  118.     DogWorld ][! Please take the time to test your quest for proper excection
  119.     before sending it out to others. If you don't want others to change
  120.     your quest, then just include the .FUN files and any display screens.
  121.     If you don't care if they change your creation (like taking out your
  122.     name, etc), then send out the .TXT files and any display screens. Make
  123.     sure that you save copies of your original .TXT files so that you can
  124.     make changes or additions to your quest if the need arises.
  125.         Feel free to send your quest sets to me at Online! USA BBS. I will
  126.     make the quest available on my system and also on my internet web page
  127.     as long as space is available.
  128.  
  129.     Send Quests to me at:  BBS: 1-615-380-1909
  130.                           FIDO: 1:116/165
  131.                       Internet: ken-cothran@worldnet.att.net 
  132.  
  133.        Ok then! Let's crank out some DogQuests!
  134.  
  135.  
  136.  
  137.     COMMAND SET FOR DOGWORLD ][ v2.03 SCRIPTING LANGUAGE
  138.     ----------------------------------------------------
  139.     Actual script commands (/command) should always be left justified.
  140.     (Plain text does not have to be left justified.)
  141.  
  142.  
  143.     ACTION COMMANDS
  144.     ---------------
  145. /barking        /dumping        /scratching     /swimming
  146. /begging        /humping        /searching      /thinking
  147. /chewing        /looking        /sniffing       /walking
  148. /climbing       /running        /squirting      /whimpering
  149. /crawling           
  150.  
  151.     When one of these commands are used, DogWorld ][ prints the action five
  152.     times on a line with "..." and a delay between each.
  153.  
  154. EXAMPLE:
  155. /squirting produces:
  156.     squirting...squirting...squirting...squirting...squirting
  157.  
  158.  
  159.     ATTRIBUTE COMMANDS
  160.     ------------------
  161.         Note that attribute commands are now limited to 3 per quest
  162.     when doing something to the current player and 3 when doing something
  163.     to another player. If your quest exceeds that, an error message
  164.     will be displayed to the caller, the change will be skipped, and
  165.     the caller will be returned to the "More Places" menu.
  166.  
  167.  
  168. /bones:n               changes "bones in paw"
  169. /bank:n                changes "bones in yard"
  170. /experience:n          changes experience points.
  171. /strength:n            changes strength points
  172. /agility:n             changes agility points
  173. /defense:n             changes defense points
  174. /itchy:n               changes flea total
  175. /snacks:n              changes liver snack total
  176. /hitpoints:n           changes hit points
  177. /hitmax:n              changes maximum hit points
  178. /alleyfights:n         changes number of alley fights left
  179. /dogfights:n           changes number of dog fights left
  180. /puppies:n             changes number of puppies
  181.  
  182.  *`V0-`V9 codes are also supported, use counter0 - counter9. Also, to
  183.  apply this command towards another dog, use the `o code after setting
  184.  a value by using the /getadog command.
  185.  
  186. EXAMPLES:
  187. /snacks:2     <-- adds 2 liver snacks to current players snacks
  188. /strength:-1  <-- subtracts 1 point from current player.
  189. /agility:`V0  <-- adds value stored in counter 0 to players agility.
  190.  
  191.  
  192.     EXAMPLE USING THE OPTIONAL (`o) CODE - (other player)
  193.     ----------------------------------------------------
  194. /rankings           shows list of players.
  195. /getadog            prompts user for other players' name
  196. /strength:`o-1      sends note to other player informing them that
  197.                         you caused them to lose one strength point!
  198.  
  199.  
  200.     DogWorld ][ perfoms bounds checking when a change is applied to the
  201.     current player. You MUST always specify the following two tags to trap
  202.     for this. This is useful, if you are trying to sell items to the player
  203.     and you want to loop back to the top of the menu if they don't have
  204.     enough bones. (when sending change to another player,  the change, and
  205.     the bounds checking, is performed when the other player enters the game)
  206.  
  207.  
  208. **THESE ARE REQUIRED WHEN NOT USING THE `o CODE!**
  209.  
  210. /didchange             tag to jump to if change was successful.
  211. /nochange              tag to jump to if change failed.
  212.  
  213.  
  214. Here's an example using /didchange and /nochange:
  215.  
  216. /* get input from user....
  217. /choiceB
  218. `n`$How dare you get familiar with me! Just for that you...`n
  219. /strength:-1
  220. /didchange
  221. `$**`@ LOSE 1 STRENGTH POINT! `$**`n`p
  222. /exitquest
  223. /nochange
  224. You feel weak and find yourself back where you started`d4.`d4.`d4.`d4.`d4.
  225. /exitquest
  226.  
  227.  
  228.  
  229.     OTHER ATTRIBUTE COMMANDS - (`o) is NOT supported here!
  230.     ------------------------------------------------------
  231. /rabies:x              if 0 - rabies is cured, if 1 - player gets rabies
  232. /dogdead               kills player for the day
  233.     
  234.     (/didchange, /nochange not needed for the above two commands)
  235.  
  236.  
  237.     INPUT COMMANDS
  238.     --------------
  239.  
  240. /inputstring0:n, /inputstring1:n, /inputstring2:n  - INPUT TEXT STRING
  241. ----------------------------------------------------------------------
  242.       Input string up to 25 characters from the user. Stored string
  243.   can be displayed by using `T0-`T2. This command displays a standard
  244.   DogWorld ][ input box at current cursor location. where length of input
  245.   is defined in the command by <n> (up to 25 characters).
  246.  
  247.  
  248. /inputnumber0:n - /inputnumber9:n  -  GET NUMERIC INPUT
  249. -------------------------------------------------------
  250.       Input number from the user. Stored numbers can be displayed inside
  251.   text by using `V0-`V9 codes. This command displays a standard DogWorld ][
  252.   style input box at the current cursor location. Length of input box can
  253.   be up to 9 decimals and is defined by <n>.
  254.  
  255.  
  256. /getchoice:xxx - GET HOTKEY 
  257. ---------------------------
  258.       Gets a key from the user, where xxx are the choices. This
  259.   command is typically used to get which choice a user has selected from
  260.   a menu of choices. The case of the letters for the choices (xxx..) must
  261.   match the case of the letters in the choice labels. See example below.
  262.  
  263. EXAMPLE:
  264. /* Display a menu to the player.
  265.  
  266. `$Inside the Scary Grave
  267.  
  268. `@You see a dead bird, a spider, and a twig sticking out
  269. of the ground. What do you wanna do?
  270.  
  271.     `3(`!B`3)`!ark something cool
  272.     `3(`!E`3)`!at the dead bird
  273.     `3(`!P`3)`!ull on the twig
  274.     `3(`!T`3)`!alk to the spider
  275.  
  276. ```$PAW a Key, `g`$! [B,E,P,T] : 
  277. /getchoice:BEPT      <---- Get the choice from the user!
  278. /choiceB
  279. /oneliner:Grave
  280. /goback:`$Inside the Scary Grave
  281. /choiceE
  282. /goforward:`n`#The Dead Bird Meal
  283. /choiceP
  284. /goforward:`n`#The Twig in the Ground
  285. /choiceT
  286. /goforward:`n`#Talking to Charlotte
  287. /endchoice
  288. /exitquest
  289.  
  290.  
  291. /choiceX - GO TO GETCHOICE LABEL
  292. --------------------------------
  293.       Label to jump to after a /getchoice, where X is  a valid keypress from
  294.   getchoice command. Note that the letter for the keypress IS case sensitive
  295.   and must match the case in the /getchoice command. See above.
  296.  
  297.  
  298. /endchoice - MARK END OF GETCHOICE BLOCK
  299. ----------------------------------------
  300.       Ends a /getchoice block. This is a required command to end a /getchoice
  301.   sequence. See example above.
  302.  
  303.  
  304. /ranchoice:n - PICK RANDOM CHOICE LABEL
  305. ---------------------------------------
  306.       Picks random number between 1 and n, then jumps to /choiceX where X is
  307.   the random number.
  308.  
  309. EXAMPLE:
  310. /ranchoice:4    <-- 4 entries in list
  311. /choice1
  312.    ....(stuff here)
  313. /choice2
  314.    ....(here too)
  315. /choice3
  316.    ....(and here)
  317. /choice4
  318.    ....(and here)
  319. /endchoice
  320.  
  321.  
  322. /gotochoice:n - GO TO AN ASSIGNED LABEL
  323. ---------------------------------------
  324.       Jumps to /choiceX where X is the number stored in counter[n].
  325.   (see /assignnum command).
  326.  
  327. EXAMPLE:
  328. /assignnum0:`l  <-- assigns player's level to counter 0
  329. /gotochoice:0   <-- jumps to choiceX where X is # stored in counter0
  330. /choice12
  331. /goforward:`$Your on Level 12!
  332. /endchoice
  333. `$Too bad. You're not on level 12 yet!
  334.  
  335.         This example first uses the /assignnum command to assign the
  336.     player's level to counter 0. Then it uses the /gotochoice command
  337.     to jump to /choiceX (where in this example, X is the number stored
  338.     in counter 0). If the player is on level 12, the script will jump to
  339.     the /choice12 tag. If the user is not on level 12 yet, the script will
  340.     jump to the /endchoice tag and continue from there. This technique can
  341.     be used to perform simple conditional functions within your script.
  342.     
  343.  
  344. /randomnum0:n - /randomnum9:n - ASSIGN RANDOM NUMBER TO COUNTER
  345. ---------------------------------------------------------------
  346.       Assigns random number between 1 and n to counter 0 through counter 9
  347.  
  348. EXAMPLE:
  349. /randomnum0:20   <--- counter 0 is now some number between 1 & 20.
  350.  
  351.  
  352. /assignnum0:n - /assignnum9:n - STORE SPECIFIED NUMBER IN COUNTER
  353. -----------------------------------------------------------------
  354.       Assigns a number to counter 0 through counter 9
  355.   This command also supports the following codes:
  356.  
  357.     `l - assigns current player's level to the counter
  358.     `a - assigns current player's agility points to the counter
  359.     `b - assigns current player's bank total to the counter
  360.     `G - assigns current player's bone total to the counter
  361.     `E - assigns current player's experience total to the counter
  362.     `h - assigns current player's hump total to the counter
  363.     `f - assigns current player's flea total to the counter
  364.     `L - assigns current player's Liver Snack total to the counter
  365.     `P - assigns current player's Puppy total to the counter
  366.     `M - assigns current player's strength total to the counter
  367.     `D - assigns current player's defense total to the counter
  368.     `, - assigns current player's "Alley Fights Left" total to the counter
  369.     `k - assigns current player's "Dog Catcher Wins" to the counter
  370.     `: - assigns current player's "Player Fights Left" total to the counter
  371.     `c - assigns current player's "Hit Point" total to the counter
  372.  
  373. EXAMPLES:
  374. /assignnum0:5  <--- assigns number 5 to counter 0.
  375. /assignnum0:`l <--- assigns current players level number to counter 0.
  376.  
  377.  
  378. /increase0:n - /increase9:n - INCREMENT COUNTER
  379. -----------------------------------------------
  380.       Adds <n> amount to counter 0 through counter 9
  381.   *(use a negative "n" to decrease the counter)
  382.           
  383. EXAMPLE:
  384. /assignnum0:5  <--- assign value of 5 to counter 0.
  385.     (do some other stuff....)
  386. /increase0:3   <--- add three to the counter (counter is now 8)
  387.  
  388.  
  389. /multiply0:n - /multiply9:n - MULTIPLY COUNTER 
  390. ----------------------------------------------
  391.       Multiply counter 0 through counter 9 by <n>
  392.  
  393. EXAMPLE:
  394. /assignnum0:5  <--- assign value of 5 to counter 0.
  395.     (do some other stuff....)
  396. /multiply0:2  <--- multiply counter by 2 (counter is now 10)
  397.  
  398.  
  399.  
  400. DISPLAY COMMANDS
  401. ----------------
  402.  
  403. /dogtrack - DISPLAY LONG DOGGIE BORDER
  404. --------------------------------------
  405.       Displays long "---:---:---" style border on the screen.
  406.  
  407.  
  408. /yourstats - DISPLAY STATS SCREEN
  409. ---------------------------------
  410.       Displays the stats screen for the current player.
  411.  
  412.  
  413. /rankings - DISPLAY RANKINGS
  414. ----------------------------
  415.       Displays the current "Dog Rankings" - all dogs.
  416.  
  417.  
  418. /alivedogs - DISPLAY ALIVE DOGS
  419. -------------------------------
  420.       Shows dogs that are currently alive
  421.  
  422.  
  423. /topdogs - DISPLAY TOP DOGS
  424. ---------------------------
  425.       Shows dogs that have beaten the dog catcher
  426.  
  427.  
  428. /onlinedogs - DISPLAY DOGS ONLINE
  429. ---------------------------------
  430.       Shows dogs currently online playing the game.
  431.  
  432.  
  433. /showscreen:filename - SHOW EXTERNAL DISPLAY SCREEN
  434. ---------------------------------------------------
  435.       Displays an ASCII, ANSI or RIP file, where filename is the name
  436.   of the external file without an extension. If the callers is calling
  437.   in RIP mode and a RIP file exists, the RIP file will be sent. If there
  438.   is no RIP file or the caller is in ANSI mode and an ANSI file exists,
  439.   the ANSI file will be sent. If there is no ANSI file or the caller
  440.   isn't in RIP or ANSI mode, the ASCII file will be sent. If none of
  441.   these files exists, DogWorld ][ will just display a (MORE) prompt.
  442.       RIP screens must end with an extension of .RIP, ANSI screens must
  443.   end with an extension of .ANS, and ASCII files must end with an
  444.   extension of .ASC.
  445.       External display codes are supported inside these files as shown
  446.   at the end of this document.
  447.  
  448.  
  449.  
  450. /clearscreen - CLEAR SCREEN
  451. ---------------------------
  452.       Clears the screen, cursor in top left corner.
  453.  
  454.  
  455. /oneliner:place - WRITE ONELINER
  456. --------------------------------
  457.       Where <place> is the place the dogs are talking. This command
  458.   accesses a DogWorld ][ maintained oneliner file. The name of the oneliner
  459.   file is based on the quest name. For example if the 1st quest file is
  460.   GRAVE1.FUN, the oneliner file is GRAVE.LNR. There can only be one one-
  461.   liner area per quest set. The first time this command is run, DogWorld ][
  462.   automatically creates a new oneliner area. After that, DogWorld will
  463.   maintain the oneliner area to a total of 9 oneliners.
  464.  
  465. EXAMPLE:
  466. /oneliner:swamp    <--- This would create and maintain a oneliner area
  467.                             that would allow players to talk at the "swamp".
  468.  
  469.  
  470. ROUTING/LOGIC COMMANDS
  471. ----------------------
  472.  
  473. /wonquest - WON QUEST
  474. ---------------------
  475.       Ends the quest & marks quest won for current player. Allows player to
  476.   go to next quest in the set. If the player is on the last quest, s(he) is
  477.   reset back to the first quest in the set.
  478.  
  479.  
  480. /exitquest - EXIT QUEST
  481. -----------------------
  482.       Ends the quest at this point.
  483.  
  484.  
  485. /goforward:<label> - JUMP FORWARD
  486. ---------------------------------
  487.       Jumps forward to a specified label. This is typically used inside
  488.   a group of choices where you want to branch out to a subroutine. The
  489.   text in the /goforward command MUST match exactly the label elsewhere
  490.   in the script that you are jumping to, including any leading spaces!
  491.  
  492. EXAMPLE:
  493. /getchoice:AB
  494. /choiceA
  495.    (something here...)
  496. /choiceB
  497. /goforward:`$The Inner Room   <--- label to jump to.
  498.  
  499. `$The Inner Room              <--- The actual label.
  500.     (more stuff here...)
  501.  
  502.     *HINT*
  503.     One thing that throws some people off is the exact match
  504.     aspect of the /goforward and /goback commands. 
  505.  
  506.  
  507. Just remember that....
  508.  
  509. /goforward:LABEL        <-- This will work.
  510. LABEL
  511.  
  512. /goforward:    LABEL    <-- This will work. (They're the same again).
  513.     LABEL               <-- The labels have the same number of spaces
  514.                             in both places.
  515.  
  516. /goforward:LABEL        <-- This WON'T work. (They're not the same now)
  517.     LABEL               <-- The label has spaces in front of it.
  518.  
  519.  
  520.  
  521. /goback:<label> - JUMP BACKWARDS
  522. --------------------------------
  523.       Jumps back to specified label. This does the reverse of the /goforward
  524.   command. See above. The text in the /goback command MUST match exactly the
  525.   label elsewhere in the script that you are jumping to, including any leading
  526.   spaces!
  527.  
  528.  
  529.  
  530. MISC. COMMANDS
  531. --------------
  532.  
  533. /playwavsound:n - PLAY WAV SOUND
  534. --------------------------------
  535.       Plays a wav file to RIP2 callers (where n can be -32768 to 32767)
  536.   This command causes a wav file to play on the remote system when the
  537.   remote user is calling with a RIP2 capable terminal program. If the
  538.   user is not calling with a RIP2 terminal package or if the WAV file
  539.   does not exist, the command is simply ignored. DogWorld ][ appends
  540.   the letters "DW" to the beginning of the WAV filename when constructing
  541.   the name of the WAV file. You can use this command to play one of the
  542.   sounds in the archive that we have put together, or you can use it to
  543.   play a WAV file that you are distributing with your Quest.
  544.       We suggest that you arrange your Quest for distribution so that
  545.   any custom WAV file(s) can be placed on the host system for downloading
  546.   and use by the DogWorld ][ players. If you decide to create a custom
  547.   WAV file or distribute one that is different from the WAV files included
  548.   inside DOG2FX.ZIP, we recommend that you DO NOT use 100 - 200.
  549.  
  550. EXAMPLES:
  551. /playwavsound:100   <-- Plays DW100.WAV
  552. /playwavsound:-123  <-- Plays DW-123.WAV
  553. /playwavsound:9999  <-- Plays DW9999.WAV
  554.  
  555.  
  556. /* - COMMENT TEXT
  557. -----------------
  558.       Marks a comment (does not process).
  559.  
  560. EXAMPLE:
  561. /* This is a comment and will not be printed to the screen!
  562.  
  563.  
  564. /femaledog - MARK FEMALE SPECIFIC TEXT BLOCK
  565. --------------------------------------------
  566.       Starts gender-specific block of text for females
  567.  
  568.  
  569. /maledog - MARK MALE SPECIFIC TEXT BLOCK
  570. ----------------------------------------
  571.       Starts gender-specific block of text for males
  572.  
  573.  
  574. /endsex - END GENDER TEXT BLOCK
  575. -------------------------------
  576.       Ends gender-specific block of text.
  577.  
  578.     **NOTE**  This command IS required to mark the end of all
  579.               gender text blocks.
  580.  
  581.  
  582. /getadog - GET OTHER PLAYER NAME
  583. --------------------------------
  584.       Queries for other players' name. The other player's record number
  585.   is stored internally by DogWorld ][ and can be recalled inside the attribute
  586.   commands by using the (`o) code. This allows you to have a quest where
  587.   a player can enter another players name and then do something good or bad
  588.   to that player depending on what you put inside the quest.
  589.       See attribute commands for more info.
  590.  
  591.  
  592. /nodogfound - NO DOG FOUND
  593. --------------------------
  594.       Tag that the script jumps to after using /getadog if no dog name was
  595.   returned. This can be used to loop back to /getadog or jump ahead.
  596.  
  597.     **NOTE** THIS IS REQUIRED WHEN USING /getadog.
  598.  
  599.  
  600. /addtonews:<text> - ADD TEXT TO DAILY NEWS
  601. ------------------------------------------
  602.       Where <text> is a line of text. Adds the specified text and dividing
  603.   border to Daily News. Text may contain the codes:
  604.  
  605.     `g (player's name)
  606.     `e (enemy name)
  607.     `n (carriage return)
  608.     `s (Him/Her)
  609.     `S (He/She),        All gender codes refer to the 
  610.     `N (Boy/Girl)       current player's gender.
  611.     `A (His/Her)
  612.  
  613. EXAMPLE:
  614. /addtonews:`$`g`$ defeated Big Foot in the jungle!
  615.  
  616.         The above would print the text following the colon,
  617.     with (`g) replaced by the current players name. Note that
  618.     it's a good idea to repeat the color code after a name
  619.     substitution. If you don't do this, the color of the text
  620.     may change because of color codes the player has inside
  621.     his/her name.
  622.         Also make sure your text doesn't *wrap* from being too
  623.     long. You should probably try to keep the length below 75
  624.     characters. When counting the length of your text, count
  625.     all displayed characters and spaces. Don't count the color
  626.     codes. Count the codes `g and `e as 20 characters.
  627.  
  628.         For example, the text: "`g beat `e in the alley!"
  629.         Would be counted as 60 characters long.
  630.  
  631.          Also, the text: "`!`g `!beat `!`e`! in the alley!"
  632.          Would also be 60 characters. (same text with more color codes)
  633. BATTLE COMMANDS
  634. ---------------
  635.       Note that DogWorld ][ now limits battles to 5 per quest. If this
  636.   number is exceeded, the quest will end and the user will be returned
  637.   back to the "More Places" menu.
  638.  
  639. /enemyname:xxxx - ASSIGN ENEMY NAME
  640. -----------------------------------
  641.       Assigns a name to the current enemy.
  642.  
  643. EXAMPLE:
  644. /enemyname:Energizer Bunny  <-- Enemy name is now "Energizer Bunny".
  645.  
  646.  
  647. /enemyweapon:xxxx - ASSIGN ENEMY WEAPON
  648. ---------------------------------------
  649.       Assigns a name for the current enemy weapon.
  650.  
  651. EXAMPLE:
  652. /enemyweapon:Big Teeth  <-- Enemy weapon is now "Big Teeth".
  653.  
  654.  
  655. /startfight:n - START FIGHT SEQUENCE
  656. ------------------------------------
  657.       Starts fight where <n> is enemy strength between 1 -9, where 1 is weak
  658.   and 9 is strong. If /startfight:0  is used, DogWorld ][ picks an appropriate
  659.   enemy from the enemy.dat file and uses it's name and weapon name.
  660.  
  661.  
  662. /wonfight - WON FIGHT
  663. ---------------------
  664.       Tag to jump to after winning a fight.
  665.  
  666.  
  667. /ranaway - RAN AWAY FROM FIGHT
  668. ------------------------------
  669.       Tag to jump to after running from a fight.
  670.  
  671.  
  672. /vetheal - GO TO VET MENU
  673. -------------------------
  674.       Takes user to the vet for healing.
  675.  
  676.  
  677. EXAMPLE:
  678. `$Suddenly...`d5standing in front of you....`d5is...
  679.  
  680. `#A GIANT ENERGIZER BUNNY!!`$`d5  thump...`d5thump...`d5thump...`n
  681. `p
  682. /enemyname:Enegizer Bunny
  683. /enemyweapon:Loud Drumming
  684. /startfight:5
  685. /ranaway
  686. /addtonews:`@NEWS FLASH: `3ENERGIZER BUNNY`! beat `3`g `!in the GRAVE!
  687. `$Ohhh, too bad. You're afraid of the bad ol' bunny, huh?
  688. Well, we sure don't need no chicken doggies around here.`n
  689. `p
  690. `@GET LOST SCARDIE KAT!!`n
  691. `p
  692. /exitquest
  693. /wonfight
  694. /addtonews:`@NEWS FLASH: `3`g `!Beat `3ENERGIZER BUNNY`! in the GRAVE!
  695. `$You win the battle and thus ends the..
  696.     "1st Quest of the Scary Grave"!`n
  697. `@Good job! Have a dog biscuit on me! Hehe!`n
  698. `p
  699. /wonquest
  700. /exitquest
  701.  
  702.  
  703. EXTERNAL DISPLAY CODES THAT CAN BE USED INSIDE OF QUEST TEXT
  704. ------------------------------------------------------------
  705.       Note that these codes are also supported inside ANSI/MONO
  706.   screens and inside RIP screens where noted so that it's possible
  707.   to have a menu of prices that change as players go up in level.
  708.   Display codes inside ansi screens are only supported in lines
  709.   that DO NOT contain ansi escape sequences. (line of plain text).
  710.   (DogWorld ][ supports lines of plain text w/codes inside .ANS files.)
  711.     
  712.  
  713. COLOR CODES
  714. -----------
  715.     `1   Blue
  716.     `2   Green
  717.     `3   Cyan
  718.     `4   Red
  719.     `5   Magenta
  720.     `6   Yellow
  721.     `7   White
  722.     `8   Grey
  723.     `9   Bright Blue
  724.     `0   Bright Green
  725.     `!   Bright Cyan
  726.     `@   Bright Red
  727.     `#   Bright Magenta
  728.     `$   Bright Yellow
  729.     `%   Bright White
  730.  
  731. PLAYER GENDER CODES
  732. -------------------
  733.     `A   If player is male, displays "His", else "Her".                  RIP
  734.     `F   If player is male, displays "FeeFee", else "Lucky"              RIP
  735.     `N   If player is male, displays "Boy", else "Girl"                  RIP
  736.     `S   If player is male, displays "He", else "She"                    RIP
  737.     `s   If player is male, displays "Him", else "Her"                   RIP
  738.          (These 2 codes can be used when refering to FeeFee/Lucky)       RIP
  739.     `O   If player is male, displays "Her", else "His" (opposite gender) RIP
  740.     `o   If player is male, displays "Her", else "Him" (opposite gender) RIP
  741.  
  742.                                                         OPTIONAL    SUPPORTED
  743. ATTRIBUTE CODES                                        (see below)  IN RIP:
  744. ---------------                                         ----------  -------
  745.     `e   Displays Current Enemy Name (w/color support)          {n}      RIP
  746.     `w   Displays Current Enemy Weapon (w/color support)        {n}      RIP
  747.     `i   Displays Current Enemy Bones                           {n}
  748.     `I1                                                         {n}
  749.      "   Displays Players Inventory Items 1-9                   {n}
  750.     `I9                                                         {n}
  751.     `g   Displays Player Name (color support)                   {n}      RIP
  752.     `B   Displays Player's Armor (w/color support)              {n}      RIP
  753.     `W   Displays Player Weapon (w/color support)               {n}      RIP
  754.     `R   Displays player's Breed (w/color support)              {n}
  755.     `a   Displays Player's Agility Points.                      {n}      RIP
  756.     `b   Displays Player's Bank total                           {n}      RIP
  757.     `c   Displays Player's Hit Point Total                      {n}      RIP
  758.     `;   Displays Player's Hit Max Total                        {n}      RIP
  759.     `D   Displays Player's Defense Point Total                  {n}      RIP
  760.     `E   Displays Player's Experience Point Total               {n}      RIP
  761.     `H   Displays Current Enemy Hit Points                      {n}
  762.     `f   Displays Player's Flea Total                           {n}      RIP
  763.     `G   Displays Player's Bones in Paw Total                   {n}      RIP
  764.     `h   Displays Player's Hump Total                           {n}      RIP
  765.     `L   Displays Player's Liver Snack Total                    {n}      RIP
  766.     `M   Displays Player's Strength Total                       {n}      RIP
  767.     `m   Displays Player's Time Left in Minutes                 {n}      RIP
  768.     `P   Displays Player's Pup Total                            {n}      RIP
  769.     `l   Displays Player's Level                                {n}
  770.     `,   Displays Player's Fights Left                          {n}      RIP
  771.     `:   Displays Player's Human Fights Left                    {n}      RIP
  772.     `X1  If expert mode is on - displays "ON", else "OFF".      {n}
  773.     `X2  If enhanced smell - displays "YES", else "NO"          {n}
  774.     `X3  If enhanced vision - displays "YES", else "NO"         {n}
  775.     `X4  if enhanced hearing - displays "YES", else "NO"        {n}
  776.     `X5  Displays current wind direction, ie. EAST, WEST, etc.  {n}
  777.     `X6  Displays players appearence, ie. NICE, AVERAGE, GRUNGY {n}
  778.     `X7  If mean displays "MEAN", else "NICE".
  779.  
  780. NOTES: Comma formatting is automatically performed on all numerical
  781.        data except Player Level, Fights Left and Human Fights Left.
  782.        (Those should never be over 999!).
  783.  
  784. STORED VALUE CODES
  785. ------------------
  786.     `T0  Displays Stored Text String0 (Up to 25 characters)     {n}
  787.     `T1  Stored String1...             w/color support.         {n}
  788.     `T2  Stored String2...  optional {n} for width specifier.   {n}
  789.     `V0  Stored Values 0-9. optional {n} for width specifier.   {n}      RIP
  790.      "                      comma formatting on all 10 values.  {n}      RIP
  791.     `V9                     values can be +/- 2,000,000,000     {n}      RIP
  792.  
  793. MISC. CODES
  794. -----------
  795.     `p   Displays (MORE) prompt (Use only at beginning of line!)         RIP
  796.     `n   Sends a Carriage Return to the Screen
  797.     `d   pauses for 1 second
  798.     `d1  pause for 1 to 9 ticks.... 
  799.      "                 (9 ticks is about 1/2 sec).
  800.     `d9
  801.     `K   Displays "LICKED" if clean mode, else "KILLED"
  802.     `{   Displays a left "Curly Brace". Use this if you need to display
  803.          a curly brace immediatly after a code that supports formatting
  804.          when you're not using any formatting with that code.
  805.          Ex: if player bones is 100, `G`{ would display: 100{  
  806.  
  807. FORMATTING CODES - {n}
  808. ----------------------
  809.       The {n} option is used along with supported display codes to line
  810.   up data on the screen. For example, if player bones is 5000, Bank is
  811.   10000, Experience is 15000, and level is 1....
  812.  
  813.   This:
  814.  
  815.          Bones: $`G{19}  Bank: $`b
  816.     Experience: `E{20} Level: `l
  817.  
  818.   Displays This:
  819.  
  820.          Bones: $5,000                Bank: $10,000
  821.     Experience: 10,000               Level: 1
  822.  
  823.   (Notice how the {n} specifier keeps the data spaced correctly)
  824.   NOTE! If the data is longer than the width specifier, the data
  825.   will be truncated to that length. For example, if the player's
  826.   name is "Dirty Little Dog", `g{14} would display: "Dirty Little D".
  827.   Width is always padded with spaces on the right side of the data.
  828.  
  829.  
  830. CODES SUPPORTED INSIDE RIP SCREENS  - RIP
  831. -----------------------------------------
  832.       The codes listed above that have <RIP> out to the right, are
  833.   supported inside Rip Screens as well as Mono/Ansi. The only difference
  834.   is that the optional formatting code is not supported. (This is needed
  835.   in a Rip screen). Also, color codes inside player/enemy names, weapons
  836.   and armor are stripped out before the text replacement is done. (I may
  837.   do a Rip Color conversion for these data types in a future version of
  838.   DogWorld ][.)
  839.  
  840.  
  841.  
  842.